home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2005 June
/
ccd0605.iso
/
Software
/
Freeware
/
Programare
/
highlight
/
highlight-W32GUI-2.2-10b-Setup.exe
/
{app}
/
README_DE.txt
< prev
next >
Wrap
Text File
|
2005-02-10
|
12KB
|
373 lines
--------------------------------------------------------------------------------
--- HIGHLIGHT MANUAL (W32 GUI) - Version 2.2-8 --------------- FEBRUAR 2004 ---
--------------------------------------------------------------------------------
OSI Certified Open Source Software
Highlight konvertiert Sourcecode in XHTML, HTML, RTF, TeX, LaTeX, XSL-FO und XML
Dateien mit Syntaxhervorhebung. Sprachdefinitionen, Farbschemen und Einrⁿckungs-
stile sind konfigurierbar
INHALT:
--------------------------------------------------------------------------------
1. Betriebsysteme
2. Unterstⁿtzte Programmier- /Auszeichnungssprachen
3. Features
4. Neue Sprachdefinitionen definieren
5. Neue Farbstile definieren
6. Neues Einrⁿckungsschema definieren
7. Integration in Windows Explorer
8. Kontakt
1.BETRIEBSSYSTEME
--------------------------------------------------------------------------------
Highlight ist in C++ geschrieben. Momentan existieren 3 Versionen:
- UNIX Konsolenanwendung
- Win32 Konsolenanwendung
- Win32 GUI
Der Sourcecode ist mit gcc 3.x, MS Visual .NET und MW Codewarrior8 kompilierbar.
2. UNTERST▄TZTE PROGRAMMIER -/ AUSZEICHNUNGSSPRACHEN:
--------------------------------------------------------------------------------
Momentan unterstutzt Highlight folgende Programmiersprachen, Markup-Sprachen
und Konfigurationsdateien:
Action Script, ADA 95, Agda, AMPL, Aspect, Assembler, Amtrix, Avenue, (G)AWK,
Bash, BlitzBasic, BibTex, BMS, C, C++, C#, ClearBasic, Clipper, Cobol, Coldfusion
MX, CSS, DOS-Batch, Eiffel, Erlang, Euphoria, Express, Felix, Fortran, Frink,
Haskell, HTML, httpd.conf, Icon, IDL, INI, IO, Jasmin, Java, JavaScript, JSP,
LaTeX, LDIF, Lisp, Lotos, Lotus Script, Lua, Make,Maya, Matlab, Maple, Modelica,
Modula 3, Nasal, OCaml, (Object) Pascal, Objective C, Paradox, PATROL, Perl,
PHP, Pike, PL/1, PL/SQL, PostScript, POV Ray, Progress, Prolog, Python, Relax
NG Compact, Rexx, RPM Spec, Ruby, Small, SML, SNMPv2, Spin, Squirrel, Sybase,
VHDL, Visual Basic, XML.
3. FUNKTIONEN:
--------------------------------------------------------------------------------
- Farbige Hervorhebung von Schlⁿsselw÷rtern, Typbezeichnern, Strings, Zahlen,
Escapesequenzen, Symbolen, Direktiven und Kommentaren
- Hervorhebung von selbstdefinierten Schlⁿsselwort-Gruppen
- Konfigurierbare Neuformatierung und Einrⁿckung von C, C++, C# und Java
Sourcecode
- Automatisches Umbrechen von ⁿberlangen Zeilen
- Ausgabe im HTML-, XHTML-, RTF-, TeX, LaTeX, XSL-FO und XML
- Ausgabe von Zeilennummern
- Speichern der CSS-Definition wahlweise in separater Datei oder innerhalb der
Ausgabedatei
- 50 Farbstile
- Konvertierung von ASCII Textdateien ohne Highlighting in eines der
Ausgabeformate
4. HIGHLIGHT DATEIFORMAT
--------------------------------------------------------------------------------
Alle Konfigurationsdateien werden als einfache ASCII-Textdateien gespeichert.
Das Format ist einfach gehalten:
$ParameterName=ParameterWert
ParameterName ist der Bezeichner fⁿr den Paramter, ParameterWert ist sein Wert.
Die Bezeichner sind nicht case sensitive.
Der Wert kann aus einem Zeichen oder auch einer Liste von W÷rtern bestehen.
Listen k÷nnen in mehrere Zeilen aufgeteilt werden.
Kommentare beginnen mit # als erstem Zeichen in der Zeile.
5. NEUE SPRACHDEFINITION DEFINIEREN:
--------------------------------------------------------------------------------
Eine Sprachdefinitionen ist eine Textdatei, in der Schlⁿsselw÷rter und Symbole
einer Programmiersprache mehreren Kategorien zugeordnet werden.
Die Datei muss im Installatinverzeichnis in langDefs/ unter folgendem Namen
gespeichert werden:
<ⁿbliche Endung der Sourcecodedateien>.lang
Beispiele: PHP -> php.lang, Java -> java.lang
Sollte es mehrere gebrΣuchliche Endungen geben, kann man diese in der Datei
extensions.conf* notieren.
DATEIFORMAT:
# Liste der Schlⁿsselw÷rter, <class> ist der Name der Schlⁿsselwort-Gruppe
# Die Klasse muss in dem angewandten Farbschema definiert sein, um eine passende
# Hervorhebung zu erm÷glichen
$KW_LIST(<class>)=<List>
# PrΣfix, die Schlⁿsselw÷rter markiert
# Die Klasse muss in dem angewandten Farbschema definiert sein, um eine passende
# Hervorhebung zu erm÷glichen
$KW_PREFIX(<class>)=<Character>
# Begrenzer fⁿr Schlⁿsselw÷rter
# Die Klasse muss in dem angewandten Farbschema definiert sein, um eine passende
# Hervorhebung zu erm÷glichen
$KW_DELIM(<class>)=<open close>
# Tagbegrenzer
# Tags werden wie Schlⁿsselw÷rter formatiert
$TAG_DELIM(class)=<tag_open tag_close>
# Liste der Stringbegrenzer
$STRINGDELIMITERS=<Liste>
# Liste der Escapecharacter innerhalb von Strings (normalerweise \)
$ESCCHAR=<Liste>
# PrΣfix, die das Hervorheben von Escapesequenzen in "Simplified Strings"
# (C#) verhindert
$RAWSTRINGPREFIX=<Character>
# Kommentarbeginn und -ende beim mehrzeiligen Kommentar
$ML_COMMENT=<Kommentarbeginn Kommentarende>
# Liste der Bezeichner, die einen einzeiligen Kommentar einleiten
$SL_COMMENT=<Liste>
# Auf true setzen, falls einzeilige Kommentare in Spalte 1 beginnen
$FL_COMMENT=<true / false>
# Einleitender Bezeichner von Compilerdirektiven
$DIRECTIVE=<Praefix>
# Auf true setzen, falls Sprache reformatiert werden kann (nur C-Σhnliche
# Sprachen)
$REFORMATTING=<true / false>
# Symbole wie z.B. Klammern oder Operatoren, die hervorgehoben werden sollen
$SYMBOLS=<Liste>
# Character, die in Schlⁿsselw÷rtern auftreten k÷nnen
$ALLOWEDCHARS=<character list>
# Falls mehrzeilige Kommentare verschachtelt werden dⁿrfen, auf true
# setzen
$ALLOWNESTEDCOMMENTS=<true / false>
# Falls Programmiersprache nicht case-sensitive ist, auf true setzen
$IGNORECASE=<true / false>
# Fⁿge eine andere Sprachdefinition aus dem selben Verzeichnis ein
$INCLUDE=<language definition>
Beim Erstellen neuer Dateien kann man die Schlⁿsselw÷rter aus Dateien anderer
Programme mit Syntaxhighlighting (z.B VIM, UltraEdit) kopieren.
Beispiel:
#Inhalt von pas.lang (Pascal/Objekt Pascal)
$KW_LIST(kwa)=true false if else then nil maxint case goto label and div downto in
mod not of or packed with do for do repeat while to until procedure function
program begin end const var type unit interface implementation uses private
public
$KW_LIST(kwb)=array boolean char integer file pointer real set string text record
$STRINGDELIMITERS=" '
$SL_COMMENT=//
$ML_COMMENT={ }
$IGNORECASE=true
6. NEUEN FARBSTIL DEFINIEREN:
--------------------------------------------------------------------------------
Die Farbstile bestehen aus einfachen ASCII-Dateien, in denen man die Format-
eigenschaften der Ausgabe festlegt. Die RTF- Ausgabe ignoriert die Hintergrund-
farbe. Die Dateien mⁿssen mit der Endung .style im highlight -
Verzeichnis/themes* gespeichert werden.
DATEIFORMAT:
#<ColourAttr> = RR GG BB
#RR GG BB steht dabei fⁿr die hexadezimalen Rot/Grⁿn/Blau - Werte, die die
#gewⁿnschte Farbe definieren.
#(Wertebereich: 00 (kein Anteil) - FF (voller Anteil))
#<FormatAttr> = ( <bold> <italic> <underline> )
# Bold, italic und underline sind optional und k÷nnen kombiniert werden.
# Farbe des nicht erkannten Textes
$DEFAULTCOLOUR=<ColourAttr>
# Hintergrundfarbe
$BGCOLOUR=<ColourAttr>
# Schriftgr÷sse
$FONTSIZE=<number>
# Formatierung von Schlⁿsselw÷rtern, die zu der gleichnamigen Klasse geh÷ren
$KW_CLASS(<class>)=<ColourAttr> ( <FormatAttr> )
# Formatierung von Zahlen
$NUMBER=<ColourAttr> ( <FormatAttr> )
# Formatierung von Escape Character
$ESCAPECHAR=<ColourAttr> ( <FormatAttr> )
# Formatierung der Strings
$STRING=<ColourAttr> ( <FormatAttr> )
# Formatierung von Strings innerhalb von Compilerdirektiven
$STRING_DIRECTIVE=<ColourAttr> ( <FormatAttr> )
# Formatierung von Kommentaren
$COMMENT=<ColourAttr> ( <FormatAttr> )
# Formatierung von einzeiligen Kommentaren (optional, sonst wie $COMMENT)
$SL-COMMENT=<ColourAttr> ( <FormatAttr> )
# Formatierung von Compilerdirektiven
$DIRECTIVE=<ColourAttr> ( <FormatAttr> )
# Formatierung von Klammern (optional, sonst wie $DEFAULTCOLOR)
$SYMBOL=<ColourAttr> ( <FormatAttr> )
# Formatierung von Zeilenummern
$LINE=<ColourAttr> ( <FormatAttr> )
Beispiel:
# golden.style
$DEFAULTCOLOUR=dd bb 00
$BGCOLOUR=00 00 00
$FONTSIZE=10
$KW_CLASS(kwa)=dd bb 00 bold
$KW_CLASS(kwb)=dd bb 00
$NUMBER=ff ff ff
$ESCAPECHAR=ff 00 00
$STRING=ff 00 00
$STRING_DIRECTIVE=ff 00 00
$COMMENT=97 83 45 italic
$DIRECTIVE=ff dd aa
$LINE=97 83 45
7. NEUES EINRⁿCKUNGSSCHEMA DEFINIEREN
--------------------------------------------------------------------------------
Sie k÷nnen die Formatierung und Einrⁿckung selbst anpassen. Um die Formatierung
fⁿr die eingesetzte Programmiersprache zu erm÷glichen, muss in der Sprach-
definition die Option $REFORMATTING=true gesetzt sein. Beachten Sie, dass der
Artistic Style Parser fⁿr die Verarbeitung von C-Σhnlicher Syntax ausgelegt ist.
Das neue Schema speichern Sie bitte als *.indent Textdatei in highlightVerz/
indentSchemes*.
DATEIFORMAT:
Kommentare beginnen mit # als erstem Zeichen in der Zeile.
# Behandlung von Klammern:
# "break": L÷se Klammern vom letzten Block (ANSI C/C++ style).
# "attach": Verbinde Klammern mit letztem Block (Java/K&R style).
# "linux": L÷se Klammern von Definitionsbl÷cken, verbinde Klammern mit
# Kommandobl÷cken
# "break-closing-headers": Break brackets before closing headers (e.g. 'else',
# 'catch', ..). Should be appended to $brackets=attach
# or $brackets=linux.
$BRACKETS=<break | attach | linux | break-closing-headers>
# Umschliesse Bl÷cke, Labels und Klassen mit Leerzeilen
# "true": Standardmodus
# "all": Umschliesse auch closing headers (e.g. 'else', 'catch', ...).
$BREAK-BLOCKS=<true | false | all>
# Teile 'else if()' Anweisungen in zwei Zeilen auf
$BREAK-ELSEIFS=<true / false>
# Rⁿcke Bl÷cke inkl. Klammern zusΣtzlich ein
$INDENT-BLOCKS=<true / false>
# Rⁿcke die Blockklammern '{' und '}' zusΣtzlich ein
$INDENT-BRACKETS=<true / false>
# Rⁿcke 'case XXX:' Zeilen ein, so dass sie mit dem zugeh÷rigen Code
# ausgerichtet sind
$INDENT-CASES=<true / false>
# Rⁿcke 'class' -Bl÷cke ein, so dass die inneren 'public:', 'protected:' und
# 'private:' Bezeichner passend zum class-Block ausgerichtet sind.
$INDENT-CLASSES=<true / false>
# Rⁿcke Label um eine Stufe weniger als der umgebende Block ein, anstatt sie
# komplett nach links zu verschieben (default)
$INDENT-LABELS=<true / false>
# Rⁿcke den Inhalt von namespace - Bl÷cken ein.
$INDENT-NAMESPACES=<true / false>
# Rⁿcke mehrzeilige #define Anweisungen ein
INDENT-PREPROCESSOR=<true / false>
# Rⁿcke mit <num> Leereichen pro Einzug ein (Defaultwert: 4)
$INDENT-SPACES=<num>
# Rⁿcke 'switch' Bl÷cke ein, so dass die inneren 'case XXX:' Anweisungen am
# switch - Block ausgerichtet sind.
$INDENT-SWITCHES=<true / false>
# Schalte in den Java-Modus (nur geeignet fⁿr Java Code)
$JAVA-STYLE=<true / false>
# Rⁿcke mehrzeilige Anweisungen in Bezug zur VorgΣngerzeile mit max. <num>
# Leerzeichen ein
$MAX-INSTATEMENT-INDENT=<num>
# Rⁿcke mehrzeilige Bedingungen (in einem 'if' oder 'while' Block) mit
# mindestens <num> Leerzeichen ein.
$MIN-CONDITIONAL-INDENT=<num>
# Umschliesse Symbole mit Leerzeichen:
# "paren": Nur Klammern umschliessen
# "oper": Nur Operatoren umschliessen
# "all": Klammern und Operatoren umschliessen
$PAD=<paren | oper | all>
Beispiel:
# K&R indentation scheme
$indent-brackets=false
$indent-spaces=4
$brackets=attach
$indent-classes=false
$indent-switches=false
$indent-namespaces=false
8. INTEGRATION IN WINDOWS EXPLORER
--------------------------------------------------------------------------------
Fⁿgen Sie eine Verknⁿpfung zur WinHighlight.exe im Ordner "SendTo" hinzu, der
sich im Homeverzeichnis des angemeldeten Benutzers befindet. Nun k÷nnen Sie
im Explorer die Eingabedateien markieren, ⁿber das Kontextmenⁿ "Senden an"
wΣhlen und anschlie▀end WinHighlight anklicken. Die Dateien befinden sich
nach dem Programmstart in der Liste der Eingabedateien.
9. KONTAKT:
--------------------------------------------------------------------------------
AndrΘ Simon
andre.simon1@gmx.de
http://www.andre-simon.de